421c2ad2e464f3b73da7bcc8d395e2f55140c7d4,platform/platform-api/src/com/intellij/ui/CheckBoxList.java,CellRenderer,getListCellRendererComponent,#JList#Object#number#boolean#boolean#,180

Before Change


      checkbox.setEnabled(isEnabled());
      checkbox.setFont(getFont(checkbox));
      checkbox.setFocusPainted(false);
      checkbox.setBorderPainted(true);
      checkbox.setBorder(isSelected ? mySelectedBorder : myBorder);
      adjustRendering(checkbox, isSelected, cellHasFocus);
      return checkbox;

After Change



    @Override
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
      JCheckBox checkbox = (JCheckBox)value;

      Color textColor = getForeground(isSelected);
      Color backgroundColor = getBackground(isSelected);
      Font font = getFont();

      boolean shouldAdjustColors = !UIUtil.isUnderNimbusLookAndFeel();

      if (shouldAdjustColors) {
        checkbox.setBackground(backgroundColor);
        checkbox.setForeground(textColor);
      }

      checkbox.setEnabled(isEnabled());
      checkbox.setFont(font);
      checkbox.setFocusPainted(false);

      String auxText = getSecondaryText(index);

      JComponent rootComponent;
      if (auxText != null) {
        JPanel panel = new JPanel(new BorderLayout());

        checkbox.setBorderPainted(false);
        panel.add(checkbox, BorderLayout.LINE_START);

        JLabel infoLabel = new JLabel();
        infoLabel.setText(auxText);
        infoLabel.setHorizontalAlignment(SwingConstants.RIGHT);
        infoLabel.setFont(font);
        panel.add(infoLabel, BorderLayout.CENTER);

        if (shouldAdjustColors) {
          panel.setBackground(backgroundColor);
          infoLabel.setForeground(isSelected ? textColor : JBColor.GRAY);
          infoLabel.setBackground(backgroundColor);
        }

        rootComponent = panel;
      }
      else {
        checkbox.setBorderPainted(true);
        rootComponent = checkbox;
      }